####################
DISTRO_COMPAT_REPOS-Distro-Distro_version 
####################

Ex: DISTRO_PKGS_SPECS-debian-stretch

This file contains the pkgs specs..

PKGS_SPECS_TABLE
================

The $PKGS_SPECS_TABLE variable contains the pkg list to be used in the build,
however they be enabled or disabled.

  yes|915resolution||exe,dev,doc,nls
  no|aaa_elflibs|aaa_elflibs|exe,dev,doc,nls

You can also add comments

  yes|eudev||exe,dev,doc,nls #note, requires kmod and a kernel with devtmpfs enabled.
  

SYNTAX
======

   0    1     2        3
  yes|expat|expat|exe,dev,doc,nls

  (0) Yes/No. Yes = enabled. No = disabled.
  (1) Generic name for pkg. Note: PET packages, if exist, use this name.
  (2) Comma-separated list of compatible-distro pkg(s). '-' prefix, exclude.
      Empty field, then use PET pkg. See below.
      Must be exact name-only of pkg, else '*' on end is wildcard to search full name.
  (3) How the package will get split up in woof (optional redirection '>' operator).
      Missing field, it goes into exe. Can also redirect >null, means dump it.


PET OR COMPAT?
=============

   0    1    2     3
  yes|expat|expat|exe,dev,doc,nls
  
    When you see (2) is not emtpy, it's usually a compat distro pkg
  
   0    1   2   3 
  yes|expat||exe,dev,doc,nls
  
    empty (2) usually means a pet pkg..

  Except if you specify a pet repo at the end:

      0     1          2            3           4!
     yes|isomaster|isomaster|exe,dev,doc,nls|pet:tahr

     ( |pet:tahr = http://distro.ibiblio.org/puppylinux/pet_packages-tahr/ )
     
   This is not encouraged, as its adds unnecesary complexity.
   Please don't use it so I can simplify findpkgs...


COMPAT PKGS
===========

   You can group packages (2) in the same generic name (1):

    0    1          2  ..........
   yes|poppler|libpoppler44,libpoppler-dev,poppler-utils,libpoppler-glib8,libpoppler-glib-dev|exe,dev,doc,nls

   (2) Comma-separated list of compatible-distro pkg(s). '-' prefix, exclude.
       Must be exact name-only of pkg, else '*' on end is wildcard to search full name.
   

EXE, DEV, DOC, NLS ?
==================

  This is specially for 2createpackages
  
  Let's clarify what EXE, DEV, DOC and NLS mean in the first place.
  
  DEV = development files inside the pkg
  DOC = documentation
  NLS = locale files, native language support
  EXE = everything else
  
  You can see the results in the 'packages-$distro' dir

   0       1              2         ......    3
  yes|xorg_base_new|appres,bdftopcf,......|exe,dev,doc,nls

  split generic name (1) pkgs (2) into components... EXE, DEV, DOC, NLS

  ex: (xenialpup)
  packages-xenial/xorg_base_new
  packages-xenial/xorg_base_new_DEV
  packages-xenial/xorg_base_new_DOC
  packages-xenial/xorg_base_new_NLS

  If a pkg does not have a certain component the respective directory will no be
  created.


EXE, DEV, DOC, NLS - II
==================

  yes|expat||exe,dev
  
    Split only EXE and DEV components
    DOC and NLS go to EXE


  yes|expat|expat|exe
  
    Pkg will not be split. Everything go to EXE


EXE, DEV, DOC, NLS - '>'
==================

  The redirection '>' operator let's you have more control. You can redirect..

  Let's see some examples

  yes|glibc_locales|glibc,glibc-zoneinfo,glibc-i18n|exe,dev,doc,nls>exe| #slackware glibc-i18n- does not have enough files, need to extract from full glibc...

    Redirect NLS to EXE. NLS files will go in the main (exe) dir.

  yes|apr|apr|exe>dev,dev,doc,nls

    Split into exe, dev, doc, nls... but the EXE stuff goes in DEV

  NULL
  ----
  
  By redirecting to null (>null), the component will be ignored,
  this basically speeds up processing..
  
  yes|bc|bc|exe,dev>null,doc,nls

     Ignore DEV component

  yes|bash||exe,dev>null,doc>null,nls

     Ignore DEV and DOC

  Do you know any problematic compat pkg that shouldn't be installed
  because it breaks puppy? Send all components to NULL.

     yes|udev|udev,libudev1,libudev-dev|exe>null,dev>null,doc>null,nls>null #fake install

       The udev pkg is specially problematic because it's the systemd crap.
       So here we fake the installation of udev, libudev-1 and libudev-dev
       The pkgs will appear to be installed and won't cause any problems
       with dependencies in the PPM. It has been replaced by:
       
          yes|eudev||exe,dev,doc,nls #pet pkg: replaces udev and libudev


3BUILDDISTRO
============

  There is code in 3builddistro that deletes the unneeded DOC and NLS
  components in the EXE (main) dir. This is to achieve a smaller iso.

  This will go the main puppy SFS
    packages-xenial/xorg_base_new
  
  This will go the DEVX sfs
    packages-xenial/xorg_base_new_DEV
  
  These will not be processed
    packages-xenial/xorg_base_new_DOC
    packages-xenial/xorg_base_new_NLS
       (however you can use those dirs for your own purposes or script)

---
END
